今天学习了Ajax从本地文件获取文本。遇到了些问题,在网络上都找到了解决办法。
先把源码都贴上来吧
1 |
|
ajaxCreateRequest.js代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19function CreateRequestObject(){
var ajaxRequest;
try{
//IE 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch(e){//internet EXplore
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{//code for ie5 and ie6
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
return false;
}
}
}
return ajaxRequest;
}
CSS代码:1
2
3
4
5
6
7
8
9
10body{
background: #ccc;
}
.divStyle{
border: 1px solid blue;
font-size: 100%;
width: 800px;
min-height:50px;
}
点击前:
点击后:
下面说下我遇到的问题。
- 乱码的问题。
起初以为是页面编码的问题,把utf-8改成gbk,gb2312均没有效果。后来想到了应该是txt文件本身的编码,查看了下果然是记事本默认编码是ANSI(搞不懂什么鬼~~(>_<)~~),改成了utf-8之后重新保存,读取就正常了。 - Firefox正常,搜狗、chrome、ie均不能读取。
chrome提示如图:
在网上找到一篇分享,说是chrome不支持本地的异步请求。
如何在chrome上面也能得到相同的执行,所以需要在Chrome的快捷方式后面添加:–allow-file-access-from-files 即可(注意前面需要额外加一个空格,否则会报错。)
如我在本机上的命名是:C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe –allow-file-access-from-files
结果就正常了。
本地file浏览不要用webkit核心浏览器,要用firefox。否则就要搭建服务器后通过http访问。